package com.project.srtp.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.project.srtp.dao.entity.UserDO;
import com.project.srtp.dto.req.UserLoginReqDTO;
import com.project.srtp.dto.req.UserRegisterReqDTO;
import com.project.srtp.dto.resp.FriendsRespDTO;
import com.project.srtp.dto.resp.UserInfoRespDTO;
import com.project.srtp.dto.resp.UserLoginRespDTO;
import com.project.srtp.dto.resp.UserRegisterRespDTO;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.Valid;

public interface UserService extends IService<UserDO> {

    UserLoginRespDTO login(@Valid UserLoginReqDTO param);

    UserRegisterRespDTO registerBasic(@Valid UserRegisterReqDTO param);

    void uploadBusinessLicense(Long userId, MultipartFile file);

    void logicDeleteUser(Long userId);

    UserInfoRespDTO getUserInfo();

    IPage<FriendsRespDTO> getFriends();

    String getUserIdByUsername(String username);
}
